namespace EOSDigital.SDK
{
	public struct Rectangle
	{
		public int X;

		public int Y;

		public int Width;

		public int Height;

		public Rectangle(int Width, int Height)
		{
			this = new Rectangle(0, 0, Width, Height);
		}

		public Rectangle(int X, int Y, int Width, int Height)
		{
			this.X = X;
			this.Y = Y;
			this.Width = Width;
			this.Height = Height;
		}

		public static bool operator ==(Rectangle x, Rectangle y)
		{
			if (x.X == y.X && x.Y == y.Y && x.Width == y.Width)
			{
				return x.Height == y.Height;
			}
			return false;
		}

		public static bool operator !=(Rectangle x, Rectangle y)
		{
			return !(x == y);
		}

		public override bool Equals(object obj)
		{
			if (obj is Rectangle)
			{
				return this == (Rectangle)obj;
			}
			return false;
		}

		public override int GetHashCode()
		{
			int num = -2128831035;
			num *= (0x1000193 ^ this.X.GetHashCode());
			num *= (0x1000193 ^ this.Y.GetHashCode());
			num *= (0x1000193 ^ this.Width.GetHashCode());
			return num * (0x1000193 ^ this.Height.GetHashCode());
		}

		public override string ToString()
		{
			return this.X + ";" + this.Y + ";" + this.Width + ";" + this.Height;
		}
	}
}
